package d1214;



/*
  内部类：  成员内部类、静态内部类、局部内部类（匿名内部类）
  什么是内部类：
  将类写在其他类内部， 可以写在其他类的成员位置和局部位置，这时写在类的内部的类称为内部类。 其他类也称为外部类。

 成员内部类：
   定义在外部类中的成员位置。  与类中的成员变量相似， 可通过外部类对象进行访问
    定义格式：
    class 外部类{
    修饰符
    创建内部类对象的格式：
         外部类名.内部类名  变量名 = new 外部类名() . new  内部类名（）
 静态内部类：
 创建静态内部类对象的格式：
  外部类名.内部类名  变量名 =  new 外部类名.内部类名（）
 */
public class 内部类 {
    public static void main(String[] args) {
        //创建成员内部类的格式
        A.B  aa =  new A().new B();
        aa.show();
        System.out.println("////////////////////////");
        //创建静态内部类的格式
        Person.Heart  bb =  new Person.Heart();
        //访问静态内部类中的静态成员
        System.out.println(Person.Heart.speed);
        aa.show();
    }

}

class Person{
    static  class  Heart{
        public static final int speed = 80;
        public void show(){
            System.out.println("我是内部类方法");
        }
    }
}
class A{
    class  B{
        int  num = 10;
        public void   show(){
            System.out.println(num);
        }

    }
}
